关于服务启动按钮页面的优化
原则
- 同一个服务器只允许启动一个按钮,也就是只能触发一个启动/关闭/重启的功能。不同的服务器是可以同时异步触发的。
- 启动或关闭是异步进行的。
- 启动或关闭的时候,同一个服务器的上按钮变灰色,并且不能点击。
问题
由于妹子ui的模态框在数据传输存在bug,详情撮: http://amazeui.org/javascript/modal
所以在多个异步并发执行的时候出现各种Bug.
|
|
通过 relatedTarget 这个钩子获取数据,如上面的演示,以该元素为桥梁获取想要的数据(2.1 开始支持);
最初代码的引用
改进后代码的引用
- 我这边的主要的问题现象:
- 同一个页面点击启动,再次点击启动或关闭,还是上一次的post传参。
- 正在启动中或者关闭中的那个提示在点击多次时后面不能正常返回。比如我同时点击了启动和关闭,然后页面显示启动中和关闭中,然后返回数据后,启动中按钮变回启动,但是关闭中一直没返回。
解决
针对以上的问题后面的代码已经解决,主要是妹子ui模态框传参的Bug问题,调用多次模态框模块框只会保存第一次运行时的数据。
第1个问题: 通过store存储传参,每点击一次覆盖前一次的参数。(可能存在的问题: 如果启用无缝浏览则无法传data参数,如果点击过快参数赋值就会错乱,但是这种情况应该很少,参数赋值那块也就微妙级别,人的手工基本不会达到那种地步) 还有种方法就是通过relatedTarget钩子重新获取数据。推荐这个方法。
第2个问题: 其实使用了relatedTarget钩子,但变量初始化的时候存在问题,之前没有var 定义局部变量,导致后面点击有可能获取全局变量的数据,导致my_this对象串了。重新初始化变量就OK了。
上图: